{
 "metadata": {
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.12-final"
  },
  "orig_nbformat": 2,
  "kernelspec": {
   "name": "python3",
   "display_name": "Python 3.6.12 64-bit ('pytorch_dl': conda)",
   "metadata": {
    "interpreter": {
     "hash": "6b962ed846ab7a2f9c4286c5c9f447c6ba721d3b496bd62adf19906831909870"
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2,
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "timestamp: <class 'numpy.float64'> 7.000000000000005\nfixation_list: <class 'list'> 32 fixation_list[0]: [-0.9938616022909127, -0.04947935609429123, 0.09894902127981706]\nsaliency_map: <class 'numpy.ndarray'> (90, 160)\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pickle\n",
    "import cv2 as cv\n",
    "\n",
    "data = pickle.load(open('./data/saliency_ds1_topicparis', 'rb'), encoding='bytes')\n",
    "\n",
    "timestamp, fixation_list, saliency_map = data[100]\n",
    "    \n",
    "# print out the values of fields in the first record\n",
    "print(\"timestamp:\", type(timestamp), timestamp)\n",
    "print(\"fixation_list:\", type(fixation_list), len(fixation_list), 'fixation_list[0]:', fixation_list[0])\n",
    "print(\"saliency_map:\", type(saliency_map), saliency_map.shape)\n",
    "\n",
    "# cv.imshow('image[0]', saliency_map)\n",
    "# k = cv.waitKey(0) & 0xFF\n",
    "\n",
    "# if k == 27:                # wait for ESC key to exit\n",
    "#     cv.destroyAllWindows()\n",
    "# elif k == ord('s'):        # wait for 's' key to save and exit\n",
    "#     cv.imwrite('./visualize/image[0].jpg', saliency_map)\n",
    "#     cv.destroyAllWindows()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Paris FW=3840.0 FH=2048.0 FPS=59.94006309148265 Frames=14630.0\n"
     ]
    }
   ],
   "source": [
    "cap = cv.VideoCapture('/Users/pengshuai/Desktop/peng/360Degree_Head_Movement_Dataset/videos/Paris.mkv')\n",
    "print(f'Paris FW={cap.get(3)} FH={cap.get(4)} FPS={cap.get(5)} Frames={cap.get(7)}')\n",
    "cap.set(0, timestamp * 1000)\n",
    "\n",
    "_, frame = cap.read()\n",
    "if frame is None:\n",
    "    print(\"Error for frame...\")\n",
    "else:\n",
    "    cv.imwrite('./visualize/frame.jpg', frame)\n",
    "cap.release()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 根据四元数计算位置\n",
    "def LocationCalculate(X, Y, Z):\n",
    "    a = np.arccos(np.sqrt(X ** 2 + Z ** 2) / np.sqrt(X ** 2 + Y ** 2 + Z ** 2))\n",
    "    if Y > 0:\n",
    "        ver = a / np.pi * 180\n",
    "    else:\n",
    "        ver = -a / np.pi * 180\n",
    "\n",
    "    b = np.arccos(X / np.sqrt(X ** 2 + Z ** 2))\n",
    "    if Z < 0:\n",
    "        hor = b / np.pi * 180\n",
    "    else:\n",
    "        hor = (2. - b / np.pi) * 180\n",
    "\n",
    "    return (90 - ver) / 180, hor / 360"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "32 32\n(32, 2)\n"
     ]
    }
   ],
   "source": [
    "points = []\n",
    "for [x, y, z] in fixation_list:\n",
    "    points.append(list(LocationCalculate(x, y, z)))\n",
    "print(len(fixation_list), len(points))\n",
    "points = np.array(points)\n",
    "print(points.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Created with matplotlib (https://matplotlib.org/) -->\n<svg height=\"235.34pt\" version=\"1.1\" viewBox=\"0 0 352.7 235.34\" width=\"352.7pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <metadata>\n  <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n   <cc:Work>\n    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n    <dc:date>2021-03-29T12:07:40.343859</dc:date>\n    <dc:format>image/svg+xml</dc:format>\n    <dc:creator>\n     <cc:Agent>\n      <dc:title>Matplotlib v3.3.2, https://matplotlib.org/</dc:title>\n     </cc:Agent>\n    </dc:creator>\n   </cc:Work>\n  </rdf:RDF>\n </metadata>\n <defs>\n  <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\n </defs>\n <g id=\"figure_1\">\n  <g id=\"patch_1\">\n   <path d=\"M 0 235.34 \nL 352.7 235.34 \nL 352.7 0 \nL 0 0 \nz\n\" style=\"fill:none;\"/>\n  </g>\n  <g id=\"axes_1\">\n   <g id=\"patch_2\">\n    <path d=\"M 10.7 224.64 \nL 345.5 224.64 \nL 345.5 7.2 \nL 10.7 7.2 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g id=\"PathCollection_1\">\n    <defs>\n     <path d=\"M 0 3 \nC 0.795609 3 1.55874 2.683901 2.12132 2.12132 \nC 2.683901 1.55874 3 0.795609 3 0 \nC 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \nC 1.55874 -2.683901 0.795609 -3 0 -3 \nC -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \nC -2.683901 -1.55874 -3 -0.795609 -3 0 \nC -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \nC -1.55874 2.683901 -0.795609 3 0 3 \nz\n\" id=\"me2d3411ae7\" style=\"stroke:#1f77b4;\"/>\n    </defs>\n    <g clip-path=\"url(#p1ffd17c1ed)\">\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"266.352975\" xlink:href=\"#me2d3411ae7\" y=\"121.290028\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"195.05104\" xlink:href=\"#me2d3411ae7\" y=\"213.00663\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.838777\" xlink:href=\"#me2d3411ae7\" y=\"213.81515\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"162.100322\" xlink:href=\"#me2d3411ae7\" y=\"214.756364\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"283.63723\" xlink:href=\"#me2d3411ae7\" y=\"119.100172\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"80.428062\" xlink:href=\"#me2d3411ae7\" y=\"117.444026\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"194.673884\" xlink:href=\"#me2d3411ae7\" y=\"127.112259\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"194.863194\" xlink:href=\"#me2d3411ae7\" y=\"118.851521\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"213.490109\" xlink:href=\"#me2d3411ae7\" y=\"117.454048\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"310.081881\" xlink:href=\"#me2d3411ae7\" y=\"118.877984\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"103.631479\" xlink:href=\"#me2d3411ae7\" y=\"117.152248\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"256.547157\" xlink:href=\"#me2d3411ae7\" y=\"120.941117\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"68.807519\" xlink:href=\"#me2d3411ae7\" y=\"124.078374\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"199.05608\" xlink:href=\"#me2d3411ae7\" y=\"116.131795\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"187.86319\" xlink:href=\"#me2d3411ae7\" y=\"27.589917\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"41.542669\" xlink:href=\"#me2d3411ae7\" y=\"114.285624\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"201.737921\" xlink:href=\"#me2d3411ae7\" y=\"124.279405\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.452249\" xlink:href=\"#me2d3411ae7\" y=\"122.817412\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"118.474542\" xlink:href=\"#me2d3411ae7\" y=\"126.691852\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"330.281818\" xlink:href=\"#me2d3411ae7\" y=\"122.845598\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"177.439651\" xlink:href=\"#me2d3411ae7\" y=\"207.909451\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"192.237744\" xlink:href=\"#me2d3411ae7\" y=\"206.630339\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"171.628616\" xlink:href=\"#me2d3411ae7\" y=\"135.609807\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"111.71836\" xlink:href=\"#me2d3411ae7\" y=\"118.839947\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"35.500222\" xlink:href=\"#me2d3411ae7\" y=\"130.350688\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"174.998206\" xlink:href=\"#me2d3411ae7\" y=\"17.083636\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"313.297116\" xlink:href=\"#me2d3411ae7\" y=\"124.339898\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.287276\" xlink:href=\"#me2d3411ae7\" y=\"115.209169\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"58.094376\" xlink:href=\"#me2d3411ae7\" y=\"110.547561\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"25.918182\" xlink:href=\"#me2d3411ae7\" y=\"124.017948\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"162.318616\" xlink:href=\"#me2d3411ae7\" y=\"28.290344\"/>\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.428152\" xlink:href=\"#me2d3411ae7\" y=\"121.809516\"/>\n    </g>\n   </g>\n   <g id=\"matplotlib.axis_1\"/>\n   <g id=\"matplotlib.axis_2\"/>\n   <g id=\"patch_3\">\n    <path d=\"M 10.7 224.64 \nL 10.7 7.2 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_4\">\n    <path d=\"M 345.5 224.64 \nL 345.5 7.2 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_5\">\n    <path d=\"M 10.7 224.64 \nL 345.5 224.64 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_6\">\n    <path d=\"M 10.7 7.2 \nL 345.5 7.2 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n  </g>\n </g>\n <defs>\n  <clipPath id=\"p1ffd17c1ed\">\n   <rect height=\"217.44\" width=\"334.8\" x=\"10.7\" y=\"7.2\"/>\n  </clipPath>\n </defs>\n</svg>\n",
      "image/png": "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\n"
     },
     "metadata": {}
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.scatter(points[:, 0], points[:, 1])\n",
    "plt.xticks([]), plt.yticks([])    # to hide tick values on X and Y axis\n",
    "plt.savefig('./visualize/fix_image.jpg')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Created with matplotlib (https://matplotlib.org/) -->\n<svg height=\"206.225pt\" version=\"1.1\" viewBox=\"0 0 352.7 206.225\" width=\"352.7pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <metadata>\n  <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n   <cc:Work>\n    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n    <dc:date>2021-03-29T12:07:47.797346</dc:date>\n    <dc:format>image/svg+xml</dc:format>\n    <dc:creator>\n     <cc:Agent>\n      <dc:title>Matplotlib v3.3.2, https://matplotlib.org/</dc:title>\n     </cc:Agent>\n    </dc:creator>\n   </cc:Work>\n  </rdf:RDF>\n </metadata>\n <defs>\n  <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\n </defs>\n <g id=\"figure_1\">\n  <g id=\"patch_1\">\n   <path d=\"M 0 206.225 \nL 352.7 206.225 \nL 352.7 0 \nL 0 0 \nz\n\" style=\"fill:none;\"/>\n  </g>\n  <g id=\"axes_1\">\n   <g id=\"patch_2\">\n    <path d=\"M 10.7 195.525 \nL 345.5 195.525 \nL 345.5 7.2 \nL 10.7 7.2 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#p4275916ce0)\">\n    <image height=\"189\" id=\"image8f8bfe5a91\" transform=\"scale(1 -1)translate(0 -189)\" width=\"335\" x=\"10.7\" xlink:href=\"data:image/png;base64,\n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\" y=\"-6.525\"/>\n   </g>\n   <g id=\"matplotlib.axis_1\"/>\n   <g id=\"matplotlib.axis_2\"/>\n   <g id=\"patch_3\">\n    <path d=\"M 10.7 195.525 \nL 10.7 7.2 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_4\">\n    <path d=\"M 345.5 195.525 \nL 345.5 7.2 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_5\">\n    <path d=\"M 10.7 195.525 \nL 345.5 195.525 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_6\">\n    <path d=\"M 10.7 7.2 \nL 345.5 7.2 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n  </g>\n </g>\n <defs>\n  <clipPath id=\"p4275916ce0\">\n   <rect height=\"188.325\" width=\"334.8\" x=\"10.7\" y=\"7.2\"/>\n  </clipPath>\n </defs>\n</svg>\n",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAADOCAYAAAAAANhmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAARd0lEQVR4nO3dW3fixhKG4dKBoz0ZT5KdXO7//7Nyn6skNgKEyIVXyaVyt8AT47JG77OWFxgE46GlT6XulijO57MAAD5eGf0HAMBcEcAAEIQABoAgBDAABCGAASAIAQwAQeq3LFwUBXPWAODt/jyfz//zD1IBA8Dt/ZF6kAAGgCAEMAAEIYABIAgBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIQgADQBACGACCEMAAEIQABoAgBDAABCGAASAIAQwAQQhgAAhCAANAEAIYAIIQwAAQhAAGgCAEMAAEIYABIAgBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIQgADQBACGACCEMAAEIQABoAgBDAABCGAASAIAQwAQQhgAAhCAANAEAIYAIIQwAAQhAAGgCAEMAAEIYABIAgBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIQgADQJA6+g8ArlEUxVXLnc/nG/8lwPuhAsanVhTF1eGrywNTQQWMT8kGae6+pZXv+Xzul6EaxmdHAONT0zD1t0pDtiiKPnwJXkwFAYxPJRW4thvC39rKV388AhmfFQGMTykVwKn+4FzFS+hiCghgfAq5wC3LcnDrQ1ir3q7rXt3vum7wbxDK+GwIYHwqGq4+eKuqGg3goiik6zrpum4Q5oTux2Gq4NvNNoBTKwsrRgzfx6vBW5alVFU1uNVAFhlWv13Xyel0GtzaYLZo5/eTC92x7cvvQOdsVgF8aQ9NxfTx/BQzX/HWdS1lWcpisRg8rk6nk5zPZ2nbVoqi6H8XGVbHtl1p5/dxzfTA3PJ+9spc/RABPDY39No9tN87z3ml+Gi+6tWgLctSlstlf6uBbGnFW5ZlH8I2dG2XhAhV2Hu4do52bhvzj805hCcdwNdUtNf8zuT9GKmBNw3hxWIhVVXJarWSsixlvV5LWZZ9Razt1LatnE4nOR6Pcjwe++e0G0Ikv+H7v4O2v8wHbmp+9qWix580M+cQnmwAj4Wrb8jcstdUznNcKT6SHXTTvt6qqqSua6nrWpbLpdR1Lev1un/ctlvbttK27aBv+HQ6DW5tENsNXnE4/HapfvtLITz22c41hCcZwJcaemwPnJtLKjJcQea2Iny0VNVrg3e1WslisZC7uzup61o2m40sFou+S0LkuY32+70cj0dpmqZ/n/P5LGVZvhqQ09dYfmc7xxC41tjc7LGTZZR+rnbK4Ny3uUkGsLpUyaaWT+2pcw0/xxXiI6QOYzWItQJeLBayWCz6IN5ut30AV1XVV7dVVcnhcBCRl0G3w+EgXddJVVUiIn0IpwIh1f6EcF4qdHWHqLeXAljvj3URzcXkAtjvhe1jl16X2lsrO6XJm/MKcit+A7ZdDlr5LpdL+fr1qyyXS/npp5/6QK7rup961jSN7Pf7vqtCw1lvdWaErXL97AgfuFTCr6V2mn7Gig3gS9uYbmdd1/VHK3a5uZhcAIvkBwI8P+KdC+FLAzJsjLeR6obQINZqd7VayWq1kvV63d9WVTU46aIsy34Qrm1bWS6XfQWs3REikty5itDnf61Uv689Q/FSJWy7gkRePms9mrH/zlzaYVIB7FcAv8f1fAD7PbY+56tf+qZuI7UjtINuy+VS1uu1LJdL+fLli6zXa/n5559ls9nIt2/fZLVayWaz6avbruvk8fFRmqbpuyyqquoH5eytP1VZZFgN5/qGafsh32fvb1NBrLQN7AwV/7zIvLa3SQWwujQCKzKsanxo+ypYG15/pyK6vbFBuOVy2Ve/6/Va1uu1bLfbZABr9dQ0Td99oVW0vq8fmLPT2CzaOi01yJZqP3/6uA9gW+yISN8OdvubWxtMJoDH+qD8IY8f8bbVlt76U1rtxuxXhDmuGLfi282G7mq1ku12K+v1Wh4eHmS73covv/wi2+1Wfv/9d1mv17LZbKSuazkej9J1nWy3W3l8fBxcK0LnA+vMCDs/WEPYbvj20HiufZHXsm1nz1K0v9u20NeIvJy1eDgckmcszjGIJxPAyle6fs+cmuuZ2mPb4LZVkfYrpt5rLivFLeTazQaxhrHt/91sNrLdbmWz2fTVsFa5Xdf1G7N2Qejr9f30vTV8UxWY37nTzi/8Z6O3qaMXnXViK2LP983bI1J97zltb5MKYN+V8D0VsN1T2wD2/U/6vrmBG1wvNXBjq18N3M1mI/f393J3dydfv36V+/t7+fXXX+X+/l5+++032Ww2gwq4bdt+ZoTt422aRrquk91uN6iI7Q5W76eqsFR31tzZaja1w7SnjfvtS7cj/bE7RTsrIjcL6Uc2qQAWyc8h9c/514z1WSnfP8wk/feX2onqRmvn/9oKWLse9L4dbFutVnI4HGS1WvV9wFoJa0jYdheRwaGuvfX3MZTbkfqBONvVZ4Nbg1YHR1Pb4Ny2sckEcC54/Z7WHmLmKmB7eGoH4mxVlBrYw/fLdTloYGrIbrdbub+/l4eHB/ny5Ys8PDzI/f29fPv2bVAB7/f7fnZDWZay3+9lt9tJ0zSy3W7leDzKer2W8/ncX0/CH+nYs+TsfNS5hcAlqQG43NmLRVEMLpxkt6G2bQdVbl3X/YWU7NHmnLohJhHAqSD0VW1uOb+s3fP66TKpGRJ4P2MbsQ3k1CwIPw9YuxZWq1V/Iob+2H5gDYHUIbHtZkr1Uf/oG/9b5cZSbDFjux/8YJzIy3iLXc6/75w+90kEsPINlfvx8zptX3Fq3mLbtv1yqUEBfD//Web6EDVctcq9u7uT7XYrd3d3/X3tgrDtt16v5XA4DEJauyNWq5WcTidZLpci8lxxtW3bt7s9Iy7V/WT/D3MKhUtSIWy7kexsCD/n/nQ6SV3Xg0E4v83NyaQCOCVVsfqR7dRyfipUapk5rhC34qtf+9nrIWxVVX0/rgao/d2ebKFTBu2Zc7b/14eBDQWtwnyXA1XwZamjGP9tJXawO9X3bk+WSW1nc9ruXs8TmZBcw116PFfhEry3NdZ/qFWwD14bur6a0ttUVW1PxtAwtmGR29nS9tdLbTt2UM0fWdjZSv47/ua67U0ygHPVrX0u15B+5bjmNfg+qarXh7APYvtj+3F9aKb+DR/EtvJNhUNuo2c9SLv0uYxtl/q7Hm2mnp+jSXZBpM7bFxkeMuYOHe3zdlL42GvwPlIB7E+Y8Gcp6hmKOpdX5Lmv/nA49BfgOZ1Or677a/89PyB0aX4360FaarvLXWOjKIpX0/3s2aa63Nw/60kGsMoFsf89dZua5pK7MAv+u1SlagPRX7tB+QDWdrMBrF9LZAPY9/NTbb0Pvw2JvJzIpP3pGrJ2el/qtbntck4mG8BjjeYf81WvvT6siAw2Xv+D9+MD0IetyLCN2raVw+EgVVVJ0zT9dX513q9+E8Zut+sDORXGY5ehzK0r/j5e2M/NzqO2g2wiwyMQEenb1B6x2O1ujiYZwLk9qX3MLqfsIZK9EIv9ubRR4m1S/YCprghdRttGw7dpGhGRwaBaURSy3+/ldDrJP//8I03T9Bdmt10SY+tCah2indNShYn9NmqteO0ZbnZmif6u4Wt3kqltbk7tMIkAtt0F/r79sRuxyEvg2kMgH772DKnUCjGnleEj+cC1p6nayne32w0m72tw60V49Oy3pmnkcDi8qoRtEKeqttR6xA44L/VZ6jx6H8Ai8qoC1uDVsxh9BTy3z3oSASzy+lsL7ArgZzH4xrR9U/o+OihjN34Oi25rrA9WN879fi91XcvT05OcTqd+SpoGsr6HVrra/fD333/L4+Oj7HY72e/3fRDbjV7b31/8hTa/jt3mbFeevbSkDmrbvmD73Xzn8/PlKHVHmzpasf/ej24yAaxSle7Y4aVlK197GJyrgPU95rp3fm+priK709ON8Xg8yn6/l6IoZLfb9dcQsH2Lej1grXy1CyJXAftr/6Yq4NTfiWepI0/bbiKvL3JkXyvyEsAavrmjzTl9/pMKYLsSpK5o5aeh6X070OOrYg1gDQN/gRa8Px+Ap9NJDoeDlGXZdzn89ddf/cCbzgmu65fVVUNZA/fp6Ul2u508Pj729/f7fd8v7Ksuv9O1O1/7N85d6sgzN5Cty/qvhNLlNKj1yCQ1aDq3z3xSASzy+nve7GO5KsY+7696ZQN97gMCtzB2dOJ3ena62X6/l67r+sG31MbcdV0/Fc2HbWrj9tWvD137d+X+fjzzn6OI9KFsCyFf6NgjHY5CJhTAdk+sv/uuBPuclzpTLrdnT4XwXFaIW/CHr3ZDbNu2n06mF87Z7/ci8jzzYbfbDa5qJiKDjdkO2mlXxNPTU395Sn3OVr92AMj3B9PWr9nPwx4V2i/X1DbRvl9/pqk/0tSdZ24K6FxMJoDVtY1jl7Mbv8jrPmDf+HNcEW7Nf642+LQiqqpKjsejiEg/zUwHTFMnaIhIH6xaCdvqN9XlcG1b0/Z5tg390aTdSeqO154Jp7dzDl1rUgHs+6P8c6nlRdKDAn5FyQ3MzHXFuAUfvlqdns/nvloVGV42crFYDGat+PfTIxYN3cPh0L9X0zTStm3fnaEDd9p/nOuesO+PF6lKWD8zWwH762z7bVbbbGwu8FxMKoDVWBDnlve39rDYPjbHleDWUn2sfhqYVrvaPaDXhdAqK3UqsW7EIjLoirDVb2q+aa7vkfbP812A+pi/Hev+s8vljkbmZnIB7IPz0rIi8uoQKLUy6eOsFO/Hf86+r932DYrIIHCPx6MURdHPfLADcJYN4PP5PKh4D4fD4PZ4PA4qr9RAkP1bMeQ/H79T1Ao4NUPJvi61E/Y7wrmYXABbPoxzwXxtgxK8t5PasWllaift62wHkZevDhLJXzJU3yt1llVqulmu+rXvh3H+CDT1GY4NivP5v5hkAF/qgnhrdZw6lML78J+zBqClG6ReV0ArX38xF32f1PvbkNUwTgXy2OEv7X9Z6gg0t5PMnfmY6/qZo0kGsMh4n9Q1rxW5HL5zXSluwW64Nohzo+b2/tgpzPb9fbVrv4X30iwIXM+2pb9NLZd6fSp859gOkw1gkddTzS495x8bC9s5rgy3ZqtV/7ivgO1px/Z27L19v2Ku6yE304U2v14udO1zej/1vL8/189+0gFsjTWgrXgvLT/XFeGW/AbpTyf31ZCd0qSuCWCR9LUe7K39d2jr/yYXtNcMknOk+eyHCeBrXFsx4/2lun1E5FXQ+jmk6tpuiLf++L8Pb/OW4mbs9XM1qwC25t7wUXzo+T5f301xTfD69/cVtX9PupveX+ozHBuEw7PZBjA+3li/oX1e5O3fwKuvz93mRtwJg9vhs72MAMaHSo2cjwXvWytg/TdSt2P3gQgEMD6cD2F9LLesde1gXOq1hC8+GwIYIb43AP/rAA/Bi8+EAEYoP1n/2oD8ngEewhefDQGMcLlgHOtueMs8U+CzIoDxaRGi+NGVlxcBANwCAQwAQQhgAAhCAANAEAIYAIIQwAAQhAAGgCAEMAAEIYABIAgBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIQgADQBACGACCEMAAEIQABoAgBDAABCGAASAIAQwAQQhgAAhCAANAEAIYAIIQwAAQhAAGgCAEMAAEIYABIAgBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIQgADQBACGACCEMAAEIQABoAgBDAABCGAASAIAQwAQQhgAAhCAANAEAIYAIIQwAAQhAAGgCAEMAAEIYABIAgBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIUr9x+T9F5I9b/CEA8AP7f+rB4nw+f/QfAgAQuiAAIAwBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgyL+SlVWf43/v+QAAAABJRU5ErkJggg==\n"
     },
     "metadata": {}
    }
   ],
   "source": [
    "plt.imshow(saliency_map, cmap='gray')\n",
    "plt.xticks([]), plt.yticks([])    # to hide tick values on X and Y axis\n",
    "\n",
    "plt.savefig('./visualize/sal_image.jpg')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ]
}